The present invention relates generally to an apparatus and method for coordinating Internet communication between two users. More particularly, the invention relates to an apparatus and method for coordinating Internet multi-media communication such that the two users can view and modify a copy of the same multi-media content, where any modifications made by one user are subsequently viewed by a second user, as well as enhancing the communication by supplementing any visual communication with audio communication.
Businesses commonly service customers through call centers staffed with technical support personnel, sales support personnel, or service personnel (hereinafter collectively referred to as sales representative) that can answer the customer""s questions. Typically, these centers use an automated call distributor (xe2x80x9cACDxe2x80x9d) system to handle incoming calls from the telephone network. Commercially available ACD systems provide call processing, voice processing, data processing and network capabilities for the call centers. The ACD system usually routes customer calls to a sales representative. The sales representative typically uses a headset and a user device connected to the ACD system to respond to the incoming calls. The ACD system can route the calls to queues, which can be customized to reflect how a business wants to prioritize and route incoming calls.
While the customer is on-hold, the ACD system also provides the customer with information. Typically, the ACD system will notify the customer that the customer""s call is important, xe2x80x9cplease holdxe2x80x9d, suggest that the customer call back during non-peak hours, or inform the customer the time the customer can expect to be on-hold, for example. In such an implementation, the customer has to wait on the telephone while listening to the repeated messages of the ACD system. This can frustrate the customer. It also restricts the customer from performing many other tasks while the customer is waiting on the phone for the sales representative or technical specialist. In some implementations, the ACD systems pipe advertising to the customer while the customer is on-hold. The customer, however, may not be interested in the products or services that are being advertised, and may have further frustration from being subjected to the advertisements. Alternatively, the ACD system can provides the customer with melodies during the on-hold period. In this implementation, however, the customer is still restricted from doing other tasks and the business looses an opportunity to advertise.
Another way businesses communicate with customers is via Internet web pages. Businesses elicit questions from customers by advertising the business""s products on Internet web pages. Such web pages allow the customer requesting that a sales representative of the business contact them. To request service, the customer inserts their name and e-mail address or phone number in a space provided on the web page and activates a call-me button. Thereafter, the sales representative is sent an e-mail containing the request for service, to which the sales representative responds. However, when the sales representative responds, either by phone or e-mail, the customer is most likely no longer viewing the business""s web page, and thus the business""s web page cannot contribute to the sales representative""s pitch. Moreover, the response is not immediate, sometimes with log times measured in days, and during the interim the customer may buy another product.
An intermediate solution to answer a customer""s questions regarding products is presented by allowing the customer to use or view a demonstration of the business""s product while on the Internet. By way of example, if a customer wants to buy software, the customer may go to the business""s web site and request a software demonstration. The web site downloads to the customer the software demonstration. If all the customers questions are answered by viewing the demonstration, then the customer can then purchase the software. If the customer still has unanswered questions, however, the customer will again have to either place a telephone call or wait for a delayed e-mail or call response.
A further disadvantage of providing the customer a software demonstration downloaded from the Internet is the amount of time it takes a customer to go to each web site, ascertain the product the customer wants to view, and then wait while the appropriate plug-in or code, for example, is downloaded to the customer""s computer. If the customer only needs to view a part of the demonstration, downloading the entire code to a customer unnecessarily uses resources of the customer. In addition, the time the customer waits for code to be downloaded is again wasted time, just as was waiting on the phone. One solution to this problem is taught in U.S. Pat. No. 5,572,643 to Judson which claims a method for displaying information on a graphic user interface when a customer is waiting for a link to download on the Internet. However, this is akin to the making the customer listen to unwanted advertisements on the phone and, thus, still has the previously described problems.
A further disadvantage of downloading a software demonstration is that whatever is downloaded is viewed by the customer alone without the assistance of the sales representative. The software demonstrations are not usually concurrent-use software applications that can be viewed simultaneously at remote locations. Thus, the software applications cannot be viewed by both the customer and the sales representative simultaneously. Further, if they were, this would require even longer download periods. In addition, such applications would require a large amount of the customer""s resources to run and be difficult for the customer to manipulate.
Accordingly, it is an object of this invention to provide an apparatus to decrease the time between a customer""s request for information over the Internet and a sales representative""s response, such that the customer can still access the sales representative""s web site.
It is another object of this invention to provide the customer with relevant information while they are on hold, thus enhancing the usefulness of the time that the customers are on-hold waiting to speak to a sales representative.
It is another object of this invention to allow business""s to advertise products to customers while they are on hold that are of interest to the customer.
It is a further object of this invention to decrease the time and resources used to download information, such that the customer only has to wait for what that individual customer requires.
It is still another object of this invention to allow customers to communicate with the sales representative regarding the application without requiring the customer to learn the specific software applications.
It is still another object of this invention to allow customers to collaborate with the sales representative without using the customers time and resources to have a complex concurrent-use program downloaded to the customer.
It is a further object of this invention to allow sales representatives to conduct business over multiple networks, such as the telephone network and the Internet.
These and other objects of the invention will be obvious and will appear hereinafter.
The aforementioned and other objects are achieved by the invention which provides an apparatus for coordinating Internet communication between at least two users and a method associated therewith. The apparatus provides a visual communication across a network between a user computer and a second computer which is in communication with a server disposed between the user computer and the second computer.
The method facilitates visual communication across the network that is platform independent. As such, neither the user computer nor the second computer is restricted to using any particular operating system or software application. The only requirement of the user computer and the second computer is that it has a browser-like application for reading files. In the preferred embodiment, the browser is a hyper-text markup language (xe2x80x9cHTMLxe2x80x9d) browser.
To provide the visual communication between the user computer and the second computer, a link is established between the user computer and the server and a link is established between the server and the second computer. The server, the user computer, and the second computer can be fully distributed across the network.
In addition to being part of the link that is established, the server selectively transmits to the user computer a user applet. The user applet enables the user computer to communicate with the server. The second computer either has a service applet disposed thereon or the service applet is provided to the second computer by the server. The service applet and the user applet enable the visual communication to occur without requiring either the user computer or the second computer to have any executable files pre-installed to enable the user computer or the second computer to have a shared view. Further, the user applet and the server applet bi-directionally communicate with the server, and thus can bi-directionally communicate with each other through the server.
After the user computer has received the user applet, the user computer generates a user view. Either in parallel or thereafter, the server communicates that the link is established between the server and the user computer to the service applet. Thereafter, a session is selectively established between the user computer and the second computer.
During the session, the second computer and user computer both display on the browser of their computer, respectively, a shared view in their user interfaces. The shared view allows a user of the user computer to see a copy of the same content as is displayed on the second computer, and vise versa. Thus, both users of the user computer and second computer will be looking at the same content displayed on the browser.
The user interface of the user computer is called a user view, while the user interface of the second computer is called a service view. The service view contains a representation of the user view, the representation of the user view is the shared view.
Either the user computer or the second computer can manipulate the shared view. For example, the second computer can change the shared view from content at one universal resource locator (xe2x80x9cURLxe2x80x9d) source location to content at a second URL source location. If the second computer implements a change to the shared view, the change is communicated to the service applet. The service applet transmits the change to the server, and the server subsequently transmits the changes to the user applet. The user applet then implements the change in the user view, and notifies the server that the change has been implemented. After the service applet receives notification from the server that the user view has changed, the service applet changes the representation of the user view in the service view, thereby conforming the shared view of the second computer to match the shared view of the user computer. This process enables the second computer to communicate to the user computer. The process can be performed bi-directionally, such that the user computer can change the user view and cause a conforming change in the second computer.
Various implementations of this method can be enabled by the user computer or the second computer. One implementation allows changes to the URL source location of the shared view. Another implementation allows changes to the images in the shared view. A further implementation of this embodiment of the invention allows the shared view to be a software application. A still further embodiment allows the shared view to display software demonstration programs.
An additional implementation of this embodiment is an interactive use of forms, where each form has objects. In this implementation, the form is represented as an array having arguments where the arguments represent the objects of the form. As the user computer or the second computer changes entries on the form, the user applet or the service applet, respectively, updates the objects in the array such that the array now represents any changes in the user interface. Then as previously described the changes are implemented in the shared view of both the user computer and the second computer.
A further implementation for the interactive use of forms supplements the forms to be event monitoring, such that when the objects on the forms change the objects notify the applets of the change. A still further implementation rewrites the objects as applets. Again, the changes to the objects are implemented in the shared view.
To enable the visual communication, the server must download the user applet to the user computer. In one embodiment of the present invention, the server enhances a resource collection function of the user""s computer by only downloading to the user computer a user applet representative of the functionality the user computer needs at that time. As such, the server ascertains what the user computer needs and generates an applet representative of that functionality and downloads that applet to the user computer. If later on during the visual communication the user computer requires greater functionality, the server will then download a second user applet containing the necessary functionality. In this way, the server decreases the resource collection of the user computer in both time and space while enabling the functions of the resource that the user wishes to enable.
The user applet is further enhanced by the use of a script: The script is displayed on the user interface of the second computer, preferably adjacent to the representation of the user view. The display can be a list of scripts from which the second computer can choose or the script that the user of the second computer has selected. The script is in communication with the service applet. The script has simplified commands which it transmits to the service applet to enable the service applet to implement any changes in shared view and transmit the changes to the user applet as previously described. In the preferred embodiment the script is written in hyper-text markup language (xe2x80x9cHTMLxe2x80x9d).
The visual communication can be between more than one user computer and more than one second computer. This enables many-to-one, one-to-many, or many-to-many communication between at least one user computer and at least one second computer. Each of the more than one second computer can be identical or each of the more than one second computer can have differing service applets which are adapted to perform differing functions, such as administrative, sales, or technical support.
If the embodiment has more than one second computer, the server also has more than one queue to which it routes call requests from the user computers. A queue contains one or more call requests from the user computers. The queue is further displayed selectively on one or more second computers. The server routes call requests using various methods, such as a first-come, first-serve basis, according to attributes of the user computers, sales specialty of the second computers, or logic formulas, which may comprise formulas relate to time of call, number of call requests presently in queue, among other items. The attributes can be collected by prompting to the user computer, or the user applet can extract the attributes from the user computer.
When the call request of the user computer is placed in a queue, the server notifies the user applet regarding status of the of the queue user computer""s call request. The server will display to the user computer in its user interface the status of the queue, enabling the user computer to know when his call request will likely be answered.
In one embodiment, while an entry of the user computer is in the queue, the server through the user applet displays supplemental information which is analogous to MUZAK, a trademark of Muzak, Inc., on the user computer until the user computer""s call request is answered. In one embodiment, the computer supplemental information is selectively transmitted from the server based upon the attributes of the user computer. In another embodiment, the server transmits the computer supplemental information based upon scripts. While the user computer is being displayed the computer supplemental information, the user computer also has a control view generated by the user applet that enables the user computer options such as disconnect or call me later, among other options.
In still another embodiment, the visual communication across the network is married to audio communication between the user computer and the second computer. In one implementation of this embodiment, both the user computer and the second computer have a voice-over net capability that is enabled during the session between user computer and second computer. In another embodiment, a traditional telephony system is used to implement the audio communication during the session. In this embodiment one audio device will be associated with at least one second computer and at least one user computer. The audio device can either initiated the communication or be used after the initiation of the visual communication between the user computer and the second computer. As such, the users of the user computer and the second computer can view shared content over the network as well as audibly communicate.
In the implementation where the audio communication is established first, the second computer directs the user computer to an appropriate address, or URL source location, whereupon the user computer is linked to the server and provides a user applet as previously described. In this embodiment, the user computer can also selectively be provided a password to enter the call session, thus enabling the call session to be private.
In still another embodiment, the second computer can be a component of a call center where the call center has an automated call distribution system (xe2x80x9cACDxe2x80x9d). In this embodiment, the ACD also has a call queue. The call queue can be communicated to the server via the network if the ACD is also connected to the network, and as such the call queue of the ACD can work in tandem with or complement queue of the server. In this embodiment, the call center can utilize any additional capabilities of the ACD while supplementing the ACD with visual communication enabled by the server, the user applet, and the service applet.
In another embodiment, the communication between the server and the user computer can be conducted through a firewall using tunneling.